package com.zdkj.subway.rca.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zdkj.subway.rca.dto.in.SwCkStationDailyReportQueryDTO;
import com.zdkj.subway.rca.entity.SwCkStationDailyReportOriginal;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;


/**
 * 报表调账-西安地铁收入日报表(原始)
 *
 * @author stw
 * @date 2020-11-21 21:38:48
 */
public interface SwCkStationDailyReportOriginalMapper extends BaseMapper<SwCkStationDailyReportOriginal> {

    List<Map<String, String>> getStationSettleCycleList(@Param("startDate") String startDate, @Param("endDate") String endDate);

    Map<String, Long> getTvmOneTicketCash(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);
	//车站营收日报表数据
	Map<String, Long> getStationDailyReport(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    List<Map<String, Object>> getTvmOneTicket(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getTvmOneTicketAjust(@Param("startDate") String startDate, @Param("endDate") String endDate);

    Map<String, Long> getBomOneTicketCash(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    Map<String, Long> getBomOneTicketAjustCash(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

	Map<String, Long> getBomOneTicketCashAuditInfo(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

	List<Map<String, Object>> getBomOnePosAmount(@Param("startDate") String startDate, @Param("endDate") String endDate);
	List<Map<String, Object>> getCatPosAmount(@Param("startDate") String startDate, @Param("endDate") String endDate);

	List<Map<String, Object>> getDailyTicketPosAmount(@Param("startDate") String startDate, @Param("endDate") String endDate);

	List<Map<String, Object>> getCommemorativeTicketPosAmount(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getBomOneTicketAlipay(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getBomOneTicketAlipayAjust(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getBomOneTicketWechat(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getBomOneTicketWechatAjust(@Param("startDate") String startDate, @Param("endDate") String endDate);

    Map<String, Long> getPrefabricatedTicketAmount(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    Map<String, Long> getEmergencyTicketAmount(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    Map<String, Long> getTicketCounting(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    Map<String, Long> getDailyTicketCash(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    List<Map<String, Object>> getDailyTicketAlipay(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getDailyTicketWechat(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getDailyTicketCat(@Param("startDate") String startDate, @Param("endDate") String endDate);

    Map<String, Long> getCommemorativeTicketCash(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    List<Map<String, Object>> getCommemorativeTicketAlipay(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getCommemorativeTicketWechat(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getAppCommemorativeTicket(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getOnlineTicketSales(@Param("startDate") String startDate, @Param("endDate") String endDate);

    Map<String, Long> getCatTicketBomCash(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    Map<String, Long> getCatTicketBomSingleCash(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    List<Map<String, Object>> getCatTicketBomAlipay(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getCatTicketBomWechat(@Param("startDate") String startDate, @Param("endDate") String endDate);

    Map<String, Long> getCatTicketItvmCash(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    List<Map<String, Object>> getCatTicketItvmAlipay(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getCatTicketItvmWechat(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getCatTicketItvmBank(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getQrCodeTicket(@Param("startDate") String startDate, @Param("endDate") String endDate);

    //Map<String, Long> getQrCodeTicketApp(@Param("tradeDate") String tradeDate);
	List<Map<String,Object>> getQrCodeTicketApp(@Param("startDate") String startDate, @Param("endDate") String endDate);

	List<Map<String,Object>> getQrCodeTicketWechatappDiscount(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getFaceRecognitionTicketBank(@Param("startDate") String startDate, @Param("endDate") String endDate);

	List<Map<String, Object>> getQrConnectivity(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getStationCompensation(@Param("startDate") String startDate, @Param("endDate") String endDate);

    List<Map<String, Object>> getBankCashPaymentNote(@Param("startDate") String startDate, @Param("endDate") String endDate);

    Map<String, BigDecimal> getCatTicketPayCardSum(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    Map<String, BigDecimal> getAllOneTrafficCardSum(SwCkStationDailyReportOriginal swCkStationDailyReportOriginal);

    List<SwCkStationDailyReportOriginal> listSwCkStationDailyReportOriginal(SwCkStationDailyReportQueryDTO dto);

    List<SwCkStationDailyReportOriginal> listSwCkStationDailyReport(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("lineCodes") String lineCodes);

    List<Map<String, String>> selectStationMap();

    List<Map<String, String>> selectStationMapByVlineCodes(@Param("lineCodes") String lineCodes);

    List<Map<String, String>> getStationSettleCycleListByVlineCodes(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("lineCodes") String lineCodes);

    List<Map<String, String>> getNoAudit(@Param("lineCode") String lineCode, @Param("tradeDate") String tradeDate);
}
